package sketch.symbolic;

import junit.framework.TestCase;
import sketch.ounit.Values;
import sketch.specs.annotation.TestSketch;
import treemap.TreeMap;

public class OnlySymbolicValueExamples extends TestCase {
	
	@TestSketch
	public void testOneSymbolicValue() {
		TreeMap map = new TreeMap();
		map.put(1);
		map.put(2);
		map.put(3);
		map.remove(Values.symbolicInt());
	}
	
	@TestSketch
	public void testMultiSymbolicValues() {
		TreeMap map = new TreeMap();
		map.put(2);
		map.remove(Values.symbolicInt());
		map.put(3);
		map.put(1000);
		map.remove(Values.symbolicInt());
	}

	@TestSketch
	public void testMixUsageValues() {
		TreeMap map = new TreeMap();
		Integer[] elements = Values.exhaust(1, 2, 3, 4);
		for(int i : elements) {
			map.put(i);
		}
		map.remove(Values.symbolicInt());
	}
	
	@TestSketch
	public void testMixUsageWithRandom() {
		TreeMap map;
		map = Values.random(TreeMap.class);
		map.remove(Values.symbolicInt());
	}
	
	@TestSketch
	public void testMixUsageWithRandom2() {
		TreeMap map = new TreeMap();
		map.put(999);
		map.put(1);
		Values.random(map, TreeMap.class);
		map.put(2);
		map.remove(Values.symbolicInt());
	}
}
